package com.vae.media.jobhandler;

import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component;

import java.time.LocalTime;

/**
 * 定时任务的具体代码
 */
@Component
public class SampleXxlJob {

    /**
     * @XxlJob注解里面是任务的名称，例如taskHello
     */
    @XxlJob("taskHello")//自定义任务名称，随便命名，表示哪个任务才能调用这个Hello方法
    public void Hello() {
        System.out.println("定时任务执行啦 "+ LocalTime.now());
    }

    //如果要定时执行其它方法，也可以在下面再写一个跟上面一模一样的方法，然后也是用@XxlJob注解指定被哪个任务调用

    //----------------------------------分片广播任务-------------------------------------

    /**
     * @XxlJob注解里面是任务的名称，例如batchHello
     */
    @XxlJob("batchHello")//自定义任务名称，随便命名，表示哪个任务才能调用这个Hello方法
    public void batchHello() {
        // 分片参数
        int shardIndex = XxlJobHelper.getShardIndex(); //执行器的序号，从0开始
        int shardTotal = XxlJobHelper.getShardTotal(); //执行器总数
        System.out.println("执行器的序号: " +shardIndex+ ", 执行器总数: "+shardTotal);
    }

}